package com.wlz.bitOperation;

/**
 *  位运算 -- 无符号左移( <<< )
 *
 *
 * @author： wlz
 * @Date 2021/1/19 14:42
 * @description： TODO
 * @version: 1.0
 */
public class UnsignedShiftLeft {

    public static void main(String[] args) {

        /**
         *  0000 0000 0000 0000 0000 0000 0000 0101 换算成二进制
         *
         *  000 0 0000 0000 0000 0000 0000 0010 1000    // (用0进行补位)
         */
        //  左移3位 结果是40
        System.out.println(5<<3);

        /**   负数以其正值的补码形式表达
         *  0000 0000 0000 0000 0000 0000 0000 0101  5换算成2进制  (-5的原码)
         *
         *  1111 1111 1111 1111 1111 1111 1111 1010  -5 的反码
         *
         *  1111 1111 1111 1111 1111 1111 1111 1011  -5换算成二进制 （-5的补码）
         *
         *  111 1 1111 1111 1111 1111 1111 1111 1111   // (用1进行补位)
         *
         */
        // 左移3位 结果是-40
        System.out.println(-5<<3);

    }
}
